The present disclosure relates to technology for non-volatile storage.
Semiconductor memory has become more popular for use in various electronic devices. For example, non-volatile semiconductor memory is used in personal navigation devices, cellular telephones, digital cameras, personal digital assistants, mobile computing devices, non-mobile computing devices and other devices. Electrical Erasable Programmable Read Only Memory (EEPROM) and flash memory are among the most popular non-volatile semiconductor memories.
Some EEPROMs or flash memory devices have a configuration referred to as a NAND configuration in which memory cells are grouped as NAND strings with each NAND string associated with a bit line. One type of NAND memory array is a two-dimensional array. Another type of NAND memory array is a three-dimensional array. One 3D NAND stacked memory device is sometimes referred to as a Bit Cost Scalable (BiCS) architecture.
In a 3D NAND BiCS architecture, a 3D NAND stacked memory device can be formed from an array of alternating conductor and insulator layers. A memory hole is drilled in the layers to define many memory layers simultaneously. A NAND string is then formed by filling the memory hole with appropriate materials. A straight NAND string extends in one memory hole, while a pipe- or U-shaped NAND string (P-BiCS) includes a pair of vertical columns of memory cells which extend in two memory holes and which are joined by a pipe connection. The pipe connection may be made of undoped polysilicon. A dielectric and back gate may surround the pipe connection forming a back gate transistor to control conduction of the pipe connection. Control gates of the memory cells are provided by the conductor layers.
Memory cells in some NAND architectures have a charge storage region that holds charge to program the memory cells. One example of a charge storage region is a floating gate. When programming an EEPROM or flash memory device, such as a NAND flash memory device, typically a program voltage is applied to the control gate (or selected word line) and the bit line is grounded. Electrons from the channel are injected into the charge storage region. When electrons accumulate in the charge storage region, the charge storage region becomes negatively charged and the threshold voltage of the memory cell is raised so that the memory cell is in a programmed state.
In many cases, the program voltage is applied to the control gate as a series of pulses (referred to as programming pulses), with the magnitude of the pulses increasing with each pulse. Between programming pulses, a set of one or more verify operations are performed to determine whether the memory cell(s) being programmed have reached their target level. If a memory cell has reached its target level, programming stops for that memory cell. If a memory cell has not reached its target level, programming will continue for that memory cell.